package com.db.dbdocument.generateDB.service;

import com.db.dbdocument.generateDB.vo.DbInfoVo;
import com.db.dbdocument.generateDB.vo.DbTableDocumentVo;
import com.db.dbdocument.generateDB.vo.DbTableInfoVo;
import com.db.dbdocument.generateDB.vo.DbTableStructureInfoVo;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * 获取数据库信息 服务类
 */
public interface IDbInfoService {
    /**
     * 实现功能 目前采用hutool的DB方法
     * 获取数据库信息
     * 1. 获取数据库连接
     * 2. 获取数据库信息
     * 3. 获取数据库表信息
     * 4. 获取数据库表结构信息
     */

    //1. 获取数据库连接
    List<Map<String,Object>> getDbConnect();
    //2. 获取数据库信息
    DbInfoVo getDbInfo() throws SQLException, ClassNotFoundException;
    //3. 获取数据库表信息
    List<DbTableInfoVo> getDbTableInfo() throws SQLException, ClassNotFoundException, ParseException;
    //4. 获取数据库表结构信息
    List<DbTableStructureInfoVo> getDbTableStructureInfo() throws SQLException, ClassNotFoundException;



    //4. 获取数据库表结构信息 使用数据源方式
    DbTableDocumentVo getDataSoreceTableInfo() throws SQLException, ClassNotFoundException, IOException;


}
